package fl.video;

extern class CuePointManager {
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _asCuePointIndex : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _asCuePointTolerance : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _disabledCuePoints : Array<Dynamic>;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _disabledCuePointsByNameOnly : Dynamic;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _id : UInt;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _linearSearchTolerance : Float;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var _metadataLoaded : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var allCuePoints : Array<Dynamic>;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var asCuePoints : Array<Dynamic>;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var eventCuePoints : Array<Dynamic>;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var flvCuePoints : Array<Dynamic>;
	var id(default,never) : UInt;
	var metadataLoaded(default,never) : Bool;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) var navCuePoints : Array<Dynamic>;
	var playheadUpdateInterval(never,default) : Float;
	function new(p1 : FLVPlayback, p2 : UInt) : Void;
	function addASCuePoint(p1 : Dynamic, ?p2 : String, ?p3 : Dynamic) : Dynamic;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function addOrDisable(p1 : Bool, p2 : Dynamic) : Void;
	function dispatchASCuePoints() : Void;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function getCuePoint(p1 : Array<Dynamic>, p2 : Bool, p3 : Dynamic) : Dynamic;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function getCuePointIndex(p1 : Array<Dynamic>, p2 : Bool, p3 : Float = 0./*NaN*/, ?p4 : String, p5 : Int = -1, p6 : Int = -1) : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function getNextCuePointIndexWithName(p1 : String, p2 : Array<Dynamic>, p3 : Int) : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function getNextCuePointWithName(p1 : Dynamic) : Dynamic;
	function insertCuePoint(p1 : Int, p2 : Array<Dynamic>, p3 : Dynamic) : Array<Dynamic>;
	function isFLVCuePointEnabled(p1 : Dynamic) : Bool;
	function processCuePointsProperty(p1 : Array<Dynamic>) : Void;
	function processFLVCuePoints(p1 : Array<Dynamic>) : Void;
	function removeASCuePoint(p1 : Dynamic) : Dynamic;
	function removeCuePoints(p1 : Array<Dynamic>, p2 : Dynamic) : Float;
	function reset() : Void;
	function resetASCuePointIndex(p1 : Float) : Void;
	function setFLVCuePointEnabled(p1 : Bool, p2 : Dynamic) : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) function unescape(p1 : String) : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var DEFAULT_LINEAR_SEARCH_TOLERANCE(default,never) : Float;
	static var SHORT_VERSION(default,never) : String;
	static var VERSION(default,never) : String;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static var cuePointsReplace : Array<Dynamic>;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static function cuePointCompare(p1 : Float, p2 : String, p3 : Dynamic) : Int;
	@:ns(http://www.adobe.com/2007/flash/flvplayback/internal) static function deepCopyObject(p1 : Dynamic, p2 : UInt = 0) : Dynamic;
}
